草庐IT

javascript - 简单的 “Class” 实例化

全部标签

ruby-on-rails - 使用 Paperclip 进行简单裁剪

我想在上传时使用Paperclip裁剪图像,以从原始图片的中心获得方形拇指。我在文档中找到了一种方法,它似乎完全符合我的要求:transformation_to(dst,crop=false)问题是我不知道在哪里使用这个方法。在这里简单地传递一些东西作为参数会很棒:has_attached_file:picture,:styles=>{:medium=>"600x600>",:thumb=>"somethinghere"} 最佳答案 你只需要使用#而不是>作为参数:has_attached_file:picture,:styles=

ruby-on-rails - Rspec:测试实例变量的赋值

将Rspec与FactoryGirl一起使用。尝试检查在我的Controller中分配了哪些数据(并对其进行测试)。我读过的每篇文章都说我应该能够从assigns()中得到一些东西,但它一直返回nillControllerdefindex@stickies=Sticky.where(:user_id=>current_user.id)end规范it"shouldassignstickies"dofoo=assigns(:stickies)puts"foo=#{foo}"end输出foo=我是否使用了错误的语法?有一个更好的方法吗?谢谢!! 最佳答案

ruby - 线程安全 : Class Variables in Ruby

在Ruby中对类变量执行写入/读取操作不是线程安全的。对实例变量执行写入/读取似乎是线程安全的。也就是说,对类或元类对象的实例变量执行写入/读取是否线程安全?这三个(人为的)示例在线程安全方面有何区别?示例1:相互排斥classBestUser#(singletonclass)@@instance_lock=Mutex.new#Memoizeinstancedefself.instance@@instance_lock.synchronizedo@@instance||=bestendendend示例2:实例变量存储classBestUser#(singletonclass)#Memo

ruby - 什么是 Sinatra/Rack 的非常简单的身份验证方案

我正忙于将一个非常小的网络应用程序从ASP.NETMVC2移植到Ruby/Sinatra。在MVC应用程序中,FormsAuthentication.SetAuthCookie用于在针对数据库正确验证用户登录时设置持久性cookie。我想知道Sinatra中FormsAuthentication的等价物是什么?所有的身份验证框架看起来都非常庞大,并不是我真正想要的。 最佳答案 这是一个非常简单的Sinatra身份验证方案。我将在下面解释它是如何工作的。classApptrueregisterdodefauth(type)condit

ruby-on-rails - 在 rake 任务期间关闭观察者的简单方法?

我在我的应用中使用了restful_authentication。我正在使用rake任务创建一组默认用户,但每次我运行任务时都会发送一封激活电子邮件,因为观察者与我的用户模型相关联。我在创建用户时设置了激活字段,因此不需要激活。有人知道在运行rake任务时绕过观察者的简单方法,这样当我保存用户时就不会发送电子邮件吗?谢谢。 最佳答案 Rails3.1终于为此提供了API:http://api.rubyonrails.org/v3.1.0/classes/ActiveModel/ObserverArray.html#method-i-

ruby - Ruby 中的 class() 与 type()

Ruby中的类方法和类型方法有什么区别?我注意到type可以找到某些类的类型,但不能找到其他类的类型。 最佳答案 主要区别在于Object#type已弃用。来自对象#type的RDoc:DeprecatedsynonymforObject#class.这就是你应该使用Object#class的原因:Returnstheclassofobj,nowpreferredoverObject#type,asanobject‘stypeinRubyisonlylooselytiedtothatobject‘sclass.Thismethodm

ruby - Ruby 中 Postgres 查询的简单示例

对于我的生活,我找不到一个简单的例子来运行类似的东西“SELECT*FROMMyTable”在ruby中。我发现的所有内容都假定使用ORM或Rails。现在,我不想要ORM;我不想要Rails。我正在寻找使用pggem并执行简单查询的独立程序。 最佳答案 来自pggem文档(http://rubydoc.info/gems/pg/0.10.0/frames)require'pg'conn=PGconn.open(:dbname=>'test')res=conn.exec('SELECT1ASa,2ASb,NULLASc')res.g

ruby - class_eval << -"end_eval", __FILE__, __LINE__ 在 Ruby 中是什么意思?

我正在学习如何在模块中使用class_eval(我对class_eval有点熟悉)并遇到了thishelpfulclassinresource_controller.那里有这样的东西:class_eval__FILE__和__LINE__在那个上下文中做了什么?我知道__FILE__引用当前文件,但整个事情到底做了什么?真的不知道如何搜索它:)。 最佳答案 __FILE__和__LINE__是一种动态常量,用于保存当前正在执行的文件和行。将它们传递到这里允许错误正确报告它们的位置。instance_eval当你运行它时$rubyfo

ruby - class_eval、class_exec、module_eval 和 module_exec 之间有什么区别?

我正在阅读Module文档,但似乎无法理解它们之间的差异以及应该在何处使用。eval与exec有何不同? 最佳答案 我将通过在您的问题中包含instance_{eval|exec}来回答您的问题。{instance|module|class}_{eval|exec}的所有变体都会更改当前上下文,即self的值:classArraypself#prints"Array"43.instance_eval{pself}#prints"43"end现在说说区别。eval版本接受字符串或block,而exec版本只接受block但允许您向其传

Ruby:更新哈希值最简单的方法是什么?

说:h={1=>10,2=>20,5=>70,8=>90,4=>34}我想将每个值v更改为foo(v),这样h将是:h={1=>foo(10),2=>foo(20),5=>foo(70),8=>foo(90),4=>foo(34)}实现此目标的最优雅方法是什么? 最佳答案 您可以使用update(merge!的别名)使用block更新每个值:hash.update(hash){|key,value|value*2}请注意,我们正在有效地将hash与其自身合并。这是必需的,因为Ruby将调用block来解决任何碰撞键的合并,并使用bl